<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:c="livcos.org/ns/cosmos"
  xmlns:da="livcos.org/ns/cosmos/data-access"
  xmlns="http://www.w3.org/1999/xhtml"
  exclude-result-prefixes="c da">

  <xsl:import href="cosmos.xsl" />
  
  <xsl:variable name="browseUri" select="'browse.view'"/>

  <xsl:variable name="root" select="document(concat($adminObjId,'.cache'))/*"/>

  <xsl:variable name="previewUrl">
    <xsl:choose>
      <xsl:when test="not($root/c:*)">
        <xsl:value-of select="$objId"/>
        <xsl:text>.view</xsl:text>
      </xsl:when>
      <xsl:otherwise>
        <xsl:text>about:blank</xsl:text>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:variable>

  <xsl:template match="/">
    <xsl:choose>
      <xsl:when test="not($root/c:*)">
        <xsl:variable name="len"
          select="string-length($adminObjId) - string-length(local-name($root))" />
        <xsl:apply-templates
          select="document(concat(substring($adminObjId, 0, $len),'.cache'))/*" />
      </xsl:when>
      <xsl:otherwise>
        <xsl:apply-templates select="$root"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

  <xsl:template match="*">
    <xsl:apply-templates select="." mode="label"/>
  </xsl:template>

  <xsl:template match="da:*">
  </xsl:template>

  <xsl:template match="/c:*">
    <xsl:apply-imports />
  </xsl:template>

  <xsl:template match="c:*" mode="label">
    <xsl:choose>
      <xsl:when test="local-name(.) = local-name($root)">
        <div style="background-color: #DDDDDD;">
          <xsl:apply-imports/>
        </div>
      </xsl:when>
      <xsl:otherwise>
        <xsl:apply-imports/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

  <xsl:template name="headExtension">
    <script type="text/javascript" src="../script/browse.js"><!-- --></script>
  </xsl:template>

  <xsl:template name="buildNavPanel">
    <xsl:apply-templates select="*"/>
  </xsl:template>

  <xsl:template name="buildNavLink">
    <xsl:param name="label"/>
    <xsl:param name="objId"/>
    <xsl:param name="preview" select="true()"/>
    <a href="{$browseUri}?objId={$objId}" onclick="feed('{$objId}');">
      <xsl:if test="$preview and not(c:*)">
        <xsl:attribute name="href"><xsl:value-of select="$objId"/>.view</xsl:attribute>
        <xsl:attribute name="target">preview</xsl:attribute>
      </xsl:if>
      <xsl:value-of select="$label" />
    </a>
  </xsl:template>

</xsl:stylesheet>
